import request from '@/config/axios'

// 课程学期 VO
export interface SemesterVO {
  id: number // 主键
  name: string // 学期名称
  dmcName: string // 科大学期名称
  startDate: Date // 学期开始时间
  endDate: Date // 学期结束时间
  timetable: string // 课表
}

// 课程学期下拉 VO
export interface SemesterSimpleRespVO {
  id: number // 主键
  name: string // 学期名称
  dmcName: string // 科大学期名称
}

// 课程学期 API
export const SemesterApi = {
  // 查询课程学期分页
  getSemesterPage: async (params: any) => {
    return await request.get({ url: `/course/semester/page`, params })
  },

  // 查询课程学期详情
  getSemester: async (id: number) => {
    return await request.get({ url: `/course/semester/get?id=` + id })
  },

  // 新增课程学期
  createSemester: async (data: SemesterVO) => {
    return await request.post({ url: `/course/semester/create`, data })
  },

  // 修改课程学期
  updateSemester: async (data: SemesterVO) => {
    return await request.put({ url: `/course/semester/update`, data })
  },

  // 删除课程学期
  deleteSemester: async (id: number) => {
    return await request.delete({ url: `/course/semester/delete?id=` + id })
  },

  // 导出课程学期 Excel
  exportSemester: async (params) => {
    return await request.download({ url: `/course/semester/export-excel`, params })
  },

  // 获得课程学期下拉列表
  getSemesterSimpleList: async () => {
    return await request.get({ url: `/course/semester/simple-list` })
  }
}
